package com.arron.algorithm.leetcodetop100.数组.矩阵;


/**
 *  旋转思路 ：
 *   1，找到关于对角线对称的图形
 *   2，再将每一行进行反转，即得到图像顺时针旋转后的图像
 *   逆时针旋转同理
 */
public class 旋转图像 {




    public void rotate(int[][] matrix) {

        int m = matrix.length;
        int n = matrix[0].length;

        // 关于对角线对称
        for (int i = 0; i < m; i++) {
            for (int j = i+1; j < n; j++) {
                int temp = matrix[i][j];
                matrix[i][j] = matrix[j][i];
                matrix[j][i] = temp;
            }
        }


        // 反转每一行
        for (int i = 0; i < n; i++) {
            int left=0;
            int right = n-1;

            while (left < right){
                int temp = matrix[i][left];
                matrix[i][left] = matrix[i][right];
                matrix[i][right] = temp;
                left++;
                right--;
            }
        }

    }





}
